package com.zw.a.basic.a11.demo03_map;

import java.util.HashMap;
import java.util.Map;

//案例: 演示Map集合中的常用成员方法
/*
    Map集合的成员方法:
        V put(K key,V value)	            添加元素, 键不存在就直接添加, 并返回null, 键存在就用新值覆盖旧值, 让返回旧值.
        V remove(Object key)	            根据键删除键值对元素, 并返回被删除前的value值, , 键不存在就直接添加, 并返回null, 键存在就用新值覆盖旧值, 让返回旧值.
        void clear()	                    移除所有的键值对元素
        boolean containsKey(Object key)	    判断集合是否包含指定的键
        boolean containsValue(Object value)	判断集合是否包含指定的值
        boolean isEmpty()	                判断集合是否为空
        int size()	                        集合的长度，也就是集合中键值对的个数
 */
public class Demo02 {
    public static void main(String[] args) {
        //1.定义Map集合, 键是丈夫, 值是妻子. (键值都是字符串类型).
        Map<String, String> hm = new HashMap<>();

        //2.分别测试上述的7个方法.
        //2.1 测试    V put(K key,V value)	            添加元素
        hm.put("杨过", "大雕");
        hm.put("尹志平", "小龙女");
        hm.put("张无忌", "赵敏");

        //2.2 测试V remove(Object key)	            根据键删除键值对元素
        /*String yg = hm.remove("杨过123");
        System.out.println("yg: " + yg);*/

        //2.3 测试  void clear()
        //hm.clear();

        //2.4 测试  boolean containsKey(Object key)	    判断集合是否包含指定的键
        /*System.out.println(hm.containsKey("杨过"));
        System.out.println(hm.containsKey("乔峰"));*/

        //2.5 测试  boolean containsValue(Object value)	判断集合是否包含指定的值
        /*System.out.println(hm.containsValue("小龙女"));
        System.out.println(hm.containsValue("蛛儿"));*/

        //2.6 测试 boolean isEmpty()	                判断集合是否为空
        //System.out.println(hm.isEmpty());

        //2.7 测试 int size()	                        集合的长度，也就是集合中键值对的个数
        System.out.println(hm.size());

        //2.8 打印双列集合.
        System.out.println("hm: " + hm);

    }
}
